package com.itheima.dao;

import com.github.pagehelper.Page;
import com.itheima.pojo.User;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 用户持久层接口
 * @author wangxin
 * @version 1.0
 */
public interface UserDao {
    /**
     * 根据用户名查询数据用户信息
     * @param username
     * @return
     */
    User findByUserName(String username);


    /**
     *分页查询用户管理的数据
      * @param queryString
     * @return
     */
    Page<User> selectByCondition(String queryString);

    /**
     * 根据id获得用户管理数据
     * @param id id
     */
    User findById(Integer id);

    /**
     * 根据id获得权限ids列表
     */
    List<Integer> findRoleIds(Integer userId);

    /**
     * 添加用户角色关系
     */
    void addUserAndRoleRelationShip(HashMap<String, Integer> param);

    /**
     * 删除关联关系
     */
    void deleteUserAndRoleRelation(Integer id);

    /**
     * 删除用户信息
     */
    void delete(Integer id);

    /**
     * 修改用户信息
     */
    void edit(User user);

    /**
     * 添加用户信息
     */
    void add(User user);

    /**
     * 改变用户状态
     */
    void changeStationByUsername(HashMap<String, String> param);

    /**
     *修改密码
     */
    void changePassword(HashMap<String, String> param);

    /**
     * 根据用户名获得用户电话
     */
    String findTelephoneByUsername(String username);
}
